home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
UTIL
/
SYS
/
QUICKC
/
!QuickC
/
!Help
next >
Wrap
Text File
|
1988-08-01
|
8KB
|
195 lines
C development aid 1.1 [ QuickC ]
==================================
This program acts both as a front end to the Acorn make utility, and as a
stand-alone, ( ie. without !Edit, ) task window. It requires TaskWindow 0.03
or later to run, which you should find in the Edit application directory.
Either RMEnsure this module in your C start-up sequence, or copy it to the
'QuickC' directory. It also requires SharedCLibrary version 3.50 or above.
The features of this front-end are:
* Single click on icon bar initiates make.
* Make runs in a background window.
* Make is suspendable.
* Make output may be saved.
* Errors highlighed.
* Goto line.
* Open source facility.
* Buttons to control make options.
* Single click on icon bar opens task window.
=================== Using the application =====================
OverView of development cycle
Start QuickC application.
repeat
Register make file
repeat
Make
while ( errors )
edit sources
end while
until happy with result
until no more to do
To start the application, double click on the !QuickC icon in the filer
window. The QuickC icon ( 'C' ) will appear on the icon bar.
Before you can make any C programs, you must first drag the required
make file from the filer and drop it onto the C icon. This will register the
make file to the Quick C application. There are two effects of this:
1. The 'Make Options' window will open, displaying default options
and the name of the make file.
2. The current selected directory is set to the file system and path
that contains the make file.
Once registered, the make file stays registered until you either register
another make file or quit the program.
To open the make file for editing, choose the 'Open' button in the 'Make
Options' window.
Once a make file is registered, a make may be performed by either choosing
the 'Make' button in the 'Make Options' window, or by clicking with the left
mouse button on the C icon. The 'Output' window will now open, and the make
will proceed in background, showing error and warning messages in, strangely
enough, the 'Output' window.
When the Error and Warning lines appear, bringing up a menu over each line
produces an option to open that file: a single left click will tell the editor
to move to the source line in question. This assumes that your editor uses F5
as the GotoLine dialog shortcut, ( eg. Edit, SrcEdit, StrongEd2. )
To start a task window, single right click on the C icon. This operates
in almost exactly the same way as the Edit task window, except that Ctrl
characters are always ignored.
Make options -------------------
makefile - The name of the current makefile
.IGNORE - Ignores return codes from compilers.
Stamp - Stamps files to bring the target up-to-date.
Build !Make - Does not execute commands but echos them to a file
'!Make' which is created in the same directory as the
current makefile.
.SILENT - Does not echo commands before execution.
Continue - Continues after errors.
No execute - Merely show commands that would be executed to bring
the target up-to-date.
WimpSlot - How much memory the make task will have to run in.
Note that this memory is only used for the duration
of the make.
Open - Opens the current makefile into an Edit window.
Make - Invokes make with the current options. The same effect
may be achieved by clicking on the icon bar 'C' icon.
This will open the 'output' window.
A click on the menu button will give a list of the first twenty targets
defined in the makefile. Choosing any of these will start a make of the
chosen target.
Output window -------------
The results of the task are shown in this window. Warnings are shown in
black and errors in red. The other text will be grey.
The title of the output window gives an indication of how the task was
started, along with the current WimpSlot size.
Menu options:
Open '' - See below.
Save => - Saves the contents of the output window in the normal
RISC-OS manner.
Link - Tracks the output as it is produced ( vis. Link on the
Edit TaskWindow menu ).
Gain caret - As single clicks on the output window are trapped,
( see below, ) the caret may be moved to the output
window with this menu option.
Suspend - The make may be suspended whenever active.
Resume - The make may be resumed when suspended.
Lines of the following format are especially useful.
"c.file", line XXX: ...
Menu over this line will give a menu option of
Open 'c.file'
Choosing this will load the source file into !Edit.
Select over a line of the above format will send keystrokes to the
current input focus to move the caret to the required line.
Adjust in the output window will give the output window the input focus
( ie. the caret. )
Icon Bar Icon
-------------
The icon bar menu is as follows:
Info - Standard program information.
Make options - Opens the make options window.
New makefile - Allows the saving of a new 'blank' makefile in the
normal RISC-OS manner.
Quit - Kills the task window and exits.
Select on the C icon will initiate a make, assuming that a makefile has
been registered by dropping on to either the C icon or the make options
window.
Adjust on the C icon will open a task window.
Known problems
--------------
Quitting whilst a make is in progress may cause strange effects, such as
files left open, or switching out of the desktop to complete the make.
Dismounting and remounting the disc, or *CLOSE, will close the files for
you, but remember that ALL files are closed in this way, not just the ones
you want to close!!
Sorry, but I can't find any way to kill the child task cleanly, ( apart
from not trying at all )!
The default makefile explained
------------------------------
The default makefile is available from the icon bar menu option
'New makefile'. A commented version appears below.
_______________________________________________________________________
INCLUDE= # Additional include path
# eg. INCLUDE=$.MyLib
OBJECTS= # List of objects that link to form the
# main target. eg: OBJECTS=o.main o.keyb
LIBRARY=$.Clib.o.Stubs # Which standard library to use: either
# $.CLib.o.Stubs, or $.CLib.o.ANSILib
CFLAGS= # Default compile flags. eg: CFLAGS=-g
LFLAGS= -MAP # Default linker flags
TARGET=!RunImage # Default target of make
.c.o: # Rule for creating any o.* from a c.* file
cc -c $(CFLAGS) $(INCLUDE) $<
.s.o: # Default rule for creating any o.* from
ASM $< # an assembler ( s.* ) file
$(TARGET): $(OBJECTS) # Rule for creating the main target from
# it's depenencies
link -output !RunImage $(LFLAGS) $(OBJECTS) $(LIBRARY)
clean: # Rule for removing all object modules,
remove $(TARGET) # and the final target, thus
wipe o.* # ensuring the next make is a full one.
_______________________________________________________________________
Building your makefile
----------------------
Targets which have no dependants may be included in the make options
menu by following the colon with a single space before the newline. If the
space is not present, then that target will be excluded from the menu. This
is useful to hide default or dangerous rules.
For more information on makefiles, refer to the documentation supplied
with your C compiler, or to the Unix make manual page.